
// 页面白名单，不受拦截 ['navigateTo', 'switchTab', 'redirectTo', 'reLaunch']
const whiteList = [
	"pages/Login/Login",
]
function hasPermission (url) {
	let istoken = uni.getStorageSync("user_token")!=null?true:false;//isLogin是登录成功后在本地存储登录标识，存储一个能够判断用户登录的唯一标识就行
	// 在白名单中或有登录判断条件可以直接跳转
	console.log(url);
	console.log(istoken);
	if(whiteList.indexOf(url) !== -1 || istoken) {
		console.log('通过')
	    return true
	}
	console.log('不通过')
	
    return false
}
uni.addInterceptor('navigateTo', {
    // 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转
    invoke (e) {
        if(!hasPermission(e.url)){
            uni.reLaunch({
                url: 'pages/Login/Login'
            })
            return false
        }
        return true
    },
    success (e) {
		
    }
})
 
uni.addInterceptor('switchTab', {
    // tabbar页面跳转前进行拦截
    invoke (e) {
        if(!hasPermission(e.url)){
            uni.reLaunch({
                url: 'pages/Login/Login'
            })
			console.log('不在白名单内')
            return false
        }
		console.log('在白名单内')
        return true
    },
    success (e) {
		
    }
})